package pacman.entries.pacman.meta_graph.evaluators;

import pacman.entries.pacman.meta_graph.MetaGraphEvaluator;
import pacman.entries.pacman.meta_graph.features.EdgeFeatureEdibleGhostOnEdge;
import pacman.entries.pacman.meta_graph.features.EdgeFeatureNonedibleGhostOnEdge;
import pacman.entries.pacman.meta_graph.features.EdgeFeatureNumPills;
import pacman.entries.pacman.meta_graph.features.NodeFeatureAlreadyMovingThisWay;
import pacman.entries.pacman.meta_graph.features.NodeFeatureEdibleGhostBetween;
import pacman.entries.pacman.meta_graph.features.NodeFeatureGhostInTheWay;
import pacman.entries.pacman.meta_graph.features.NodeFeatureNumPills;
import pacman.entries.pacman.meta_graph.features.PathFeatureCanBeatInedibleGhosts;

public class Evaluator1 extends MetaGraphEvaluator {

	@Override
	protected void InitFeatures() {
		// EAT features
		m_EdgeFeatures.add(new EdgeFeatureNumPills());
		m_NodeFeatures.add(new NodeFeatureNumPills());

		// GHOST features
		m_PathFeatures.add(new PathFeatureCanBeatInedibleGhosts());
		m_NodeFeatures.add(new NodeFeatureGhostInTheWay());
		m_NodeFeatures.add(new NodeFeatureEdibleGhostBetween());
		m_EdgeFeatures.add(new EdgeFeatureNonedibleGhostOnEdge());
		m_EdgeFeatures.add(new EdgeFeatureEdibleGhostOnEdge());
		
		// MISC features
		m_NodeFeatures.add(new NodeFeatureAlreadyMovingThisWay());
	}

}
